package com.kongxiang.cubebit.llm.dto;

import lombok.Data;

@Data
public class ChatCompletionResponse {
    private String id;
    private String object;
    private long created;
    private String model;
    private Choices[] choices;
    private Usage usage;

    @Data
    public static class Choices {
        private int index;
        private Delta delta;
        private String finishReason;
        private ContentFilterResults contentFilterResults;
    }

    @Data
    public static class Delta {
        private String content;
        private String reasoningContent;
        private String role;
    }

    @Data
    public static class ContentFilterResults {
        private Hate hate;
        private SelfHarm selfHarm;
        private Sexual sexual;
        private Violence violence;
    }

    @Data
    public static class Hate {
        private boolean filtered;
    }

    @Data
    public static class SelfHarm {
        private boolean filtered;
    }

    @Data
    public static class Sexual {
        private boolean filtered;
    }

    @Data
    public static class Violence {
        private boolean filtered;
    }

    @Data
    public static class Usage {
        private int promptTokens;
        private int completionTokens;
        private int totalTokens;
    }
}